home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / program / qbsnip.zip / FILEXST.BAS < prev    next >
BASIC Source File  |  1997-06-20  |  1KB  |  40 lines

  1. DEFINT A-Z
  2.  
  3. '$INCLUDE: 'qb.bi'
  4.  
  5. DECLARE FUNCTION Exist% (FileName$)
  6.  
  7. 'Test Program
  8. 'This file should exist on most systems
  9. File$ = "C:\AUTOEXEC.BAT"
  10. A = Exist(File$)
  11. IF A < 0 THEN PRINT File$; " Exists" ELSE PRINT File$; " Not Found"
  12. 'This is a dummy file and should not really exist
  13. File$ = "dummy.fil"
  14. A = Exist(File$)
  15. IF A < 0 THEN PRINT File$; " Exists" ELSE PRINT File$; " Not Found"
  16.  
  17. '***********************************************************************
  18. '* FUNCTION Exist%
  19. '*
  20. '* PURPOSE
  21. '*    Uses DOS ISR 21H, Function 4EH (Find First Matching Directory
  22. '*    Entry) to determine the existence of FileName$.
  23. '***********************************************************************
  24. FUNCTION Exist% (FileName$) STATIC
  25.      DIM IRegsX AS RegTypeX, ORegsX AS RegTypeX
  26.  
  27.      IRegsX.ax = &H4E00
  28.      IRegsX.cx = &H3F                          'search for all files
  29.      FileName$ = FileName$ + CHR$(0)           'must end with null byte
  30.  
  31.      IRegsX.ds = VARSEG(FileName$)             'load DS:DX with
  32.      IRegsX.dx = SADD(FileName$)               '  address of FileName$
  33.  
  34.      InterruptX &H21, IRegsX, ORegsX
  35.      Exist% = ORegsX.ax = 0                    'if ax contains a value,
  36.                                                                                          '  remove the null byte
  37.      FileName$ = LEFT$(FileName$, LEN(FileName$) - 1)
  38. END FUNCTION
  39.  
  40.